Skip to content

🔨 build(tooling): 固化 SparkBot 默认硬件测试环境 - #347

Closed
ZhaoXingPeng wants to merge 1 commit into
1024XEngineer:mainfrom
ZhaoXingPeng:fix/sparkbot-toolchain-default-20260822
Closed

🔨 build(tooling): 固化 SparkBot 默认硬件测试环境#347
ZhaoXingPeng wants to merge 1 commit into
1024XEngineer:mainfrom
ZhaoXingPeng:fix/sparkbot-toolchain-default-20260822

Conversation

@ZhaoXingPeng

@ZhaoXingPeng ZhaoXingPeng commented Aug 22, 2026

Copy link
Copy Markdown
Collaborator

这项改动把 SparkBot 的构建、应用分区烧录和硬件测试依赖固定为本机可复现的默认环境。请审核后合并。

Refs #346

Lifecycle

Closed without merge。实际仓库不需要把本地烧录、Python 依赖和硬件测试环境固化为仓库交付内容;后续验收以线上环境测试和实板运行结果为准。

Scope

  • 自动按 IDF_PATH、ESP-IDF 6.0.2 和兼容旧路径选择有效工具链。
  • 显式 --idf-dir 无效时立即拒绝,避免落到不存在的环境。
  • 新增受版本约束的硬件测试依赖清单。

Non-goals

  • 不刷写设备,不改 NVS、Wi-Fi、SQLite 或固件业务逻辑。

Verification

  • 默认 Python 已导入 serialesptooldashscopewebsocketspytestruff
  • ESP-IDF 6.0.2 环境加载、idf.py --versionpython -m esptool version 通过。
  • python3 -m pytest -q tests/python:190 passed,1 skipped。
  • ruff check scripts tests/python:通过。
  • Provisioning 工具链优先级与无效路径拒绝已有单测覆盖。

Risks and closeout

该实现不进入主干;线上环境和实板测试记录作为后续验收依据。

AI assistance

  • Codex 协助定位本机 ESP-IDF 路径、实现和执行验证;作者已核对命令与测试结果。

当前脚本只会尝试不存在的 ~/esp/esp-idf,导致构建和应用分区烧录每次都需要手工寻找 ESP-IDF 环境。\n\n增加 IDF_PATH、ESP-IDF 6.0.2 和兼容旧路径的有序探测,显式无效路径直接拒绝;同时记录串口、esptool、百炼和 Python 测试工具版本。\n\n默认 Python 依赖、Provisioning 命令生成、Python 单测与 Ruff 已验证。\n\nRefs 1024XEngineer#346
@ZhaoXingPeng ZhaoXingPeng self-assigned this Aug 22, 2026
@codecov

codecov Bot commented Aug 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@ZhaoXingPeng

Copy link
Copy Markdown
Collaborator Author

关闭说明

决定不合并此 PR。实际仓库不需要把本地烧录、Python 依赖和硬件测试环境固化为仓库交付内容;后续验收以线上环境测试和实板运行结果为准。

因此 #347 关闭且不合并,当前分支改动不作为主干基线。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant